package cn.com.dcsgo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 商品信息
 *
 * @author Dcsgo
 * @since 2025/10/21 10:34
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "商品信息")
public class ProdVO {
    /**
     * 商品ID
     */
    @Schema(description = "商品ID")
    private Long prodId;

    /**
     * 店铺ID
     */
    @Schema(description = "店铺ID")
    private Long shopId;

    /**
     * 商品名称
     */
    @Schema(description = "商品名称")
    private String prodName;

    /**
     * 原价
     */
    @Schema(description = "原价")
    private BigDecimal oriPrice;

    /**
     * 现价
     */
    @Schema(description = "现价")
    private BigDecimal price;

    /**
     * 简要描述,卖点等
     */
    @Schema(description = "简要描述,卖点等")
    private String brief;

    /**
     * 详细描述
     */
    @Schema(description = "详细描述")
    private String content;

    /**
     * 商品主图
     */
    @Schema(description = "商品主图")
    private String pic;

    /**
     * 商品图片，以,分割
     */
    @Schema(description = "商品图片，以,分割")
    private String imgs;

    /**
     * 默认是1，表示正常状态, -1表示删除, 0下架
     */
    @Schema(description = "默认是1，表示正常状态, -1表示删除, 0下架")
    private Integer status;

    /**
     * 商品分类ID
     */
    @Schema(description = "商品分类ID")
    private Long categoryId;

    /**
     * 总库存
     */
    @Schema(description = "总库存")
    private Integer totalStocks;

    /**
     * 运费模板id
     */
    @Schema(description = "运费模板ID")
    private Long deliveryTemplateId;

    /**
     * 配送方式
     */
    @Schema(description = "配送方式")
    private DeliveryModeVO deliveryMode;

    /**
     * 关联的活动ID列表
     */
    @Schema(description = "关联的活动ID列表")
    private List<Long> tagList;

    /**
     * SKU信息列表
     */
    @Schema(description = "SKU信息列表")
    private List<SkuVO> skuList;
}
